package com.bestcem.xm.label.entity.pojo;

import com.bestcem.xm.common.core.uitls.DateUtil;
import com.bestcem.xm.label.entity.mysql.LabelGroupEntity;
import com.bestcem.xm.label.enums.MemberTypeEnum;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

import java.util.Date;

/**
 * 标签组 DO
 *
 * @author zh.zhang <zh.zhang@idiaoyan.com>
 * @version v1.0
 * @date 2021-09-17
 */
@Getter
@Setter
@ToString
public class LabelGroupDO {

    private String id;

    /**
     * 组织id
     */
    private String orgId;

    /**
     * 标签组名称
     */
    private String name;

    /**
     * 序号
     */
    private Integer seq;

    /**
     * 联系人类型 0-个人联系人 1-机构联系人 2-内部联系人
     *
     * @see MemberTypeEnum
     */
    private Integer memberType;

    /**
     * 是否样例数据 0 否 1 是
     */
    private Integer isSample;

    /**
     * 创建时间(北京时间)
     */
    private Date createTime;

    /**
     * 更新时间(北京时间)
     */
    private Date updateTime = DateUtil.getCommonDate();

    public static LabelGroupDO toDo(LabelGroupEntity entity) {
        if (entity == null) {
            return null;
        }
        LabelGroupDO labelGroupDO = new LabelGroupDO();
        labelGroupDO.setCreateTime(entity.getCreateTime());
        labelGroupDO.setId(entity.getId());
        labelGroupDO.setMemberType(entity.getMemberType());
        labelGroupDO.setName(entity.getName());
        labelGroupDO.setOrgId(entity.getOrgId());
        labelGroupDO.setSeq(entity.getSeq());
        labelGroupDO.setIsSample(entity.getIsSample());
        labelGroupDO.setUpdateTime(entity.getUpdateTime());
        return labelGroupDO;
    }

    public static LabelGroupEntity toEntity(LabelGroupDO groupDO) {
        if (groupDO == null) {
            return null;
        }
        LabelGroupEntity entity = new LabelGroupEntity();
        entity.setCreateTime(groupDO.getCreateTime());
        entity.setId(groupDO.getId());
        entity.setMemberType(groupDO.getMemberType());
        entity.setName(groupDO.getName());
        entity.setOrgId(groupDO.getOrgId());
        entity.setSeq(groupDO.getSeq());
        entity.setIsSample(groupDO.getIsSample());
        entity.setUpdateTime(groupDO.getUpdateTime());
        return entity;
    }
}
